#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include <sys/types.h>
#include <sys/wait.h>

int main(void) {
	pid_t pid;

	pid = fork();

	if (-1 == pid) {
		perror("Error creating fork");
		exit(1);
	}

	if (0 == pid) {
		printf("Child pid: %d, ppid: %d, gid: %d, sid: %d\n", getpid(), getppid(), getpgrp(), getsid(0));

		return 0;
	} else {
		printf("Parent pid: %d, ppid: %d, gid: %d, sid: %d\n", getpid(), getppid(), getpgrp(), getsid(0));
	}

	wait(NULL);

	return 0;
}

